/**
 * Copyright (c) 2010 ADTECH, Inc. All rights reserved.
 * This software is the confidential and proprietary information of 
 * ADTECH, Inc. You shall not disclose such Confidential
 * Information and shall use it only in accordance with the terms of the 
 * license agreement you entered into with ADTECH.
 */
package com.pzj.export;

import com.pzj.export.config.CellColConfig;

/**
 * 导出工具的获取一行数据的方法
 * <p>
 * Title: ExportRowDataHolder.java
 * </p>
 * <p>
 * Description:导出工具的获取一行数据的方法
 * </p>
 * <p>
 * Copyright: Copyright (c) 2010
 * </p>
 * <p>
 * Company: adtech
 * </p>
 * <p>
 * team: AdTechAdLibTeam
 * </p>
 * <p>
 * 
 * @author: Puzhijun
 *          </p>
 * @date 2012-4-24下午02:00:16
 * @version 1.0
 * 
 */
public interface ExportRowDataHolder {
	/**
	 * 根据配置获得一行的数据，数据按配置中的顺序设置排列。
	 * @param target 行数据
	 * @param cellColConfigArr 单元格配置数组
	 * @return
	 */
	<T> String[] getOneRowData(T target,
			CellColConfig<T>[] cellColConfigArr);

	/**
	 * 根据配置获得一行的数据，数据按配置中的顺序设置排列。 并在数组第一个值添加序号。
	 * @param tareget 行数据对象
	 * @param cellColConfigArr 单元格配置数组
	 * @param serialNumber 当为null时，不添加序号。
	 * @return
	 */
	<T> String[] getOneRowDataAddSerialNumber(T tareget,
			CellColConfig<T>[] cellColConfigArr, String serialNumber);

	/**
	 * 添加序号
	 * @param cellColArr 单元格配置数组
	 * @return
	 */
	<T> CellColConfig<T>[] addSerialNumber(CellColConfig<T>[] cellColArr);
}
